#
# Makefile for optimizer
#
# src/spq_optimizer/libspqopt/src/xforms/Makefile
#
subdir = src/spq_optimizer/libspqopt/src/xforms
top_builddir = ../../../../../../..
include $(top_builddir)/src/Makefile.global
include ../../../spqorca.mk

OBJS = CDecorrelator.o \
       CJoinOrder.o \
       CJoinOrderDP.o \
       CJoinOrderDPv2.o \
       CJoinOrderGreedy.o \
       CJoinOrderMinCard.o \
       CSubqueryHandler.o \
       CXform.o \
       CXformCollapseGbAgg.o \
       CXformCollapseProject.o \
       CXformCTEAnchor2Sequence.o \
       CXformCTEAnchor2TrivialSelect.o \
       CXformDelete2DML.o \
       CXformDifference2LeftAntiSemiJoin.o \
       CXformDifferenceAll2LeftAntiSemiJoin.o \
       CXformDynamicGet2DynamicTableScan.o \
       CXformDynamicIndexGet2DynamicIndexScan.o \
       CXformEagerAgg.o \
       CXformExpandDynamicGetWithExternalPartitions.o \
       CXformExpandFullOuterJoin.o \
       CXformExpandNAryJoin.o \
       CXformExpandNAryJoinDP.o \
       CXformExpandNAryJoinDPv2.o \
       CXformExpandNAryJoinGreedy.o \
       CXformExpandNAryJoinMinCard.o \
       CXformExploration.o \
       CXformExternalGet2ExternalScan.o \
       CXformFactory.o \
       CXformGbAgg2Apply.o \
       CXformGbAgg2HashAgg.o \
       CXformGbAgg2ScalarAgg.o \
       CXformGbAgg2StreamAgg.o \
       CXformGbAggDedup2HashAggDedup.o \
       CXformGbAggDedup2StreamAggDedup.o \
       CXformGbAggWithMDQA2Join.o \
       CXformGet2TableScan.o \
       CXformGet2TableShareScan.o \
       CXformImplementAssert.o \
       CXformImplementation.o \
       CXformImplementBitmapTableGet.o \
       CXformImplementConstTableGet.o \
       CXformImplementCTEConsumer.o \
       CXformImplementCTEProducer.o \
       CXformImplementDML.o \
       CXformImplementDynamicBitmapTableGet.o \
       CXformImplementFullOuterMergeJoin.o \
       CXformImplementInnerJoin.o \
       CXformImplementLimit.o \
       CXformImplementPartitionSelector.o \
       CXformImplementRowTrigger.o \
       CXformImplementSequence.o \
       CXformImplementSequenceProject.o \
       CXformImplementSplit.o \
       CXformImplementTVF.o \
       CXformImplementTVFNoArgs.o \
       CXformImplementUnionAll.o \
       CXformIndexGet2IndexOnlyScan.o \
       CXformIndexGet2IndexScan.o \
       CXformIndexGet2ShareIndexScan.o \
       CXformInlineCTEConsumer.o \
       CXformInlineCTEConsumerUnderSelect.o \
       CXformInnerApply2InnerJoin.o \
       CXformInnerApply2InnerJoinNoCorrelations.o \
       CXformInnerApplyWithOuterKey2InnerJoin.o \
       CXformInnerJoin2HashJoin.o \
       CXformInnerJoin2NLJoin.o \
       CXformInsert2DML.o \
       CXformIntersect2Join.o \
       CXformIntersectAll2LeftSemiJoin.o \
       CXformJoin2IndexApply.o \
       CXformJoin2IndexApplyGeneric.o \
       CXformJoinAssociativity.o \
       CXformJoinCommutativity.o \
       CXformLeftAntiSemiApply2LeftAntiSemiJoin.o \
       CXformLeftAntiSemiApply2LeftAntiSemiJoinNoCorrelations.o \
       CXformLeftAntiSemiApplyNotIn2LeftAntiSemiJoinNotIn.o \
       CXformLeftAntiSemiApplyNotIn2LeftAntiSemiJoinNotInNoCorrelations.o \
       CXformLeftAntiSemiJoin2CrossProduct.o \
       CXformLeftAntiSemiJoin2HashJoin.o \
       CXformLeftAntiSemiJoin2NLJoin.o \
       CXformLeftAntiSemiJoinNotIn2HashJoinNotIn.o \
       CXformLeftAntiSemiJoinNotIn2NLJoinNotIn.o \
       CXformLeftJoin2RightJoin.o \
       CXformLeftOuter2InnerUnionAllLeftAntiSemiJoin.o \
       CXformLeftOuterApply2LeftOuterJoin.o \
       CXformLeftOuterApply2LeftOuterJoinNoCorrelations.o \
       CXformLeftOuterJoin2HashJoin.o \
       CXformLeftOuterJoin2NLJoin.o \
       CXformLeftSemiApply2LeftSemiJoin.o \
       CXformLeftSemiApply2LeftSemiJoinNoCorrelations.o \
       CXformLeftSemiApplyWithExternalCorrs2InnerJoin.o \
       CXformLeftSemiJoin2CrossProduct.o \
       CXformLeftSemiJoin2HashJoin.o \
       CXformLeftSemiJoin2InnerJoin.o \
       CXformLeftSemiJoin2InnerJoinUnderGb.o \
       CXformLeftSemiJoin2NLJoin.o \
       CXformMaxOneRow2Assert.o \
       CXformMultiExternalGet2MultiExternalScan.o \
       CXformProject2Apply.o \
       CXformProject2ComputeScalar.o \
       CXformPushDownLeftOuterJoin.o \
       CXformPushGbBelowJoin.o \
       CXformPushGbDedupBelowJoin.o \
       CXformPushGbWithHavingBelowJoin.o \
       CXformRemoveSubqDistinct.o \
       CXformResult.o \
       CXformRightOuterJoin2HashJoin.o \
       CXformSelect2Apply.o \
       CXformSelect2BitmapBoolOp.o \
       CxformSelect2DynamicBitmapBoolOp.o \
       CXformSelect2DynamicIndexGet.o \
       CXformSelect2Filter.o \
       CXformSelect2IndexGet.o \
       CXformSelect2PartialDynamicIndexGet.o \
       CXformSequenceProject2Apply.o \
       CXformSimplifyGbAgg.o \
       CXformSimplifyLeftOuterJoin.o \
       CXformSimplifySubquery.o \
       CXformSplitDQA.o \
       CXformSplitGbAgg.o \
       CXformSplitGbAggDedup.o \
       CXformSplitLimit.o \
       CXformSubqJoin2Apply.o \
       CXformSubqueryUnnest.o \
       CXformUnion2UnionAll.o \
       CXformUnnestTVF.o \
       CXformUpdate2DML.o \
       CXformUtils.o

include $(top_srcdir)/src/gausskernel/common.mk
